import java.util.LinkedList;
import java.util.List;

public class TowerOfHanoi {
    public static void main(String[] args) {

        LinkedList<Integer> a = new LinkedList<>();
        LinkedList<Integer> b = new LinkedList<>();
        LinkedList<Integer> c = new LinkedList<>();

//        init(3);
//        print();
        a.addLast(1);
        a.addLast(2);
        a.addLast(3);
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        remove(3,a,b,c);
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

//        print();
    }



    public static void remove(int n,LinkedList<Integer> a,LinkedList<Integer> b,LinkedList<Integer> c){
        if (n==0){
            return;
        }
        remove(n-1,a,c,b);//a->b
        c.addLast(a.removeLast());//a->c
        remove(n-1,b,a,c);//b->c

    }

//    static void init(int n) {
//        for (int i = n; i >= 1; i--) {
//            a.add(i);
//        }
//    }
}
